package tool

import (
	"math/rand"
	// "time"
)

//获取随机数
func RandGenerator() int {
	// r := rand.New(rand.NewSource(time.Now().UnixNano()))
	return rand.Int()
}

//使用chan
func RandGenerator2() chan int {
	// r := rand.New(rand.NewSource(time.Now().UnixNano()))
	out := make(chan int) //创建通道
	go func() {
		for {
			out <- rand.Int() //向通道写入数据,如果未读取会阻塞
		}
	}()
	return out
}

//多路复用
func RandGenerator3() chan int {
	rg1 := RandGenerator2()
	rg2 := RandGenerator2()

	out := make(chan int)

	go func() {
		for {
			out <- <-rg1 //读取生成器1中的数据，整合
		}
	}()

	go func() {
		for {
			out <- <-rg2 //读取生成器2中的数据，整合
		}
	}()
	return out
}
